// 导入数据库文件
const db = require('../db/index');
// 导入密码加密模块
const bcrypt = require('bcryptjs');


// 注册
exports.regUser = (req, res) => {
    // res.send("注册成功!");
    const userinfo = req.body;
    // 判空
    if (!userinfo.username || !userinfo.password) {
        return res.cc("用户名或密码不能为空!");
    }
    const sql = `select * from ev_users where username=?`;
    // 查看用户名是否被占用
    db.query(sql, [userinfo.username], function (err, results) {
        if (err) {
            return res.cc(err);
        }
        if (results.length > 0) {
            return res.cc("用户名被占用!");
        }

        // 加密
        userinfo.password = bcrypt.hashSync(userinfo.password, 10);
        const sql = `insert into ev_users set ?`;
        db.query(sql, { username: userinfo.username, password: userinfo.password }, (err, results) => {
            if (err) {
                return res.cc(err);
            }
            if (results.affectedRows !== 1) {
                return res.cc("注册失败!");
            }
            res.send({status:0,message:"注册成功!"});
        });
    });

};



// 登录
exports.login = (req, res) => {
    // res.send("登录成功!");
    const userinfo = req.body;
    const sql = `select * from ev_users where username=?`;
    db.query(sql, userinfo.username, function (err, results) {
        if (err) {
            return res.cc(err);
        }
        if (results.length !== 1) {
            // 查询到的数据条数不为1
            return res.cc("登录失败,用户名不存在!");
        }

        // 密码判断  同样进行加密转化
        const compareResult = bcrypt.compareSync(userinfo.password, results[0].password);
        if (!compareResult) {
            // 密码不一致
            return res.cc("密码不一致!");
        }

        res.send({status:0,message:"登录成功!"});
    });
};